package com.yida.gwj.basis.mapper;

import com.yida.gwj.basis.domain.GwjInitBusinessLog;
import com.yida.gwj.common.domain.dto.GwjUserDTO;
import org.apache.ibatis.annotations.Param;

import java.util.Date;
import java.util.List;

/**
 * 签署意见Mapper接口
 *
 * @author lqq
 * @date 2022-12-15
 */
public interface GwjInitBusinessLogMapper {

	/**
	 * 通过业务ID查询上一次流程进度的最后结束时间
	 *
	 * @param bizId 业务ID
	 * @return /
	 */
	Date selectPreviousEndDateByBizId(@Param("bizId") Long bizId);

	/**
	 * 查询上一个步骤的最终提交人
	 *
	 * @param bizId  业务ID
	 * @param stepId 步骤ID
	 * @param result 操作结果
	 * @return /
	 */
	GwjUserDTO selectUser(@Param("bizId") Long bizId, @Param("stepId") Long stepId, @Param("result") String result);

	/**
	 * 查询签署意见（基础数据管理模块）
	 *
	 * @param bizLogId 签署意见（基础数据管理模块）主键
	 * @return 签署意见（基础数据管理模块）
	 */
	GwjInitBusinessLog selectById(Long bizLogId);

	/**
	 * 查询签署意见（基础数据管理模块）列表
	 *
	 * @param businessLog 签署意见（基础数据管理模块）
	 * @return 签署意见（基础数据管理模块）集合
	 */
	List<GwjInitBusinessLog> selectList(GwjInitBusinessLog businessLog);

	/**
	 * 新增签署意见（基础数据管理模块）
	 *
	 * @param businessLog 签署意见（基础数据管理模块）
	 * @return 结果
	 */
	int insert(GwjInitBusinessLog businessLog);

	/**
	 * 修改签署意见（基础数据管理模块）
	 *
	 * @param businessLog 签署意见（基础数据管理模块）
	 * @return 结果
	 */
	int updateById(GwjInitBusinessLog businessLog);

	/**
	 * 根据主键删除签署意见（基础数据管理模块）
	 *
	 * @param bizLogId 签署意见（基础数据管理模块）主键
	 * @return 结果
	 */
	int deleteById(Long bizLogId);

	/**
	 * 根据业务ID删除签署意见（基础数据管理模块）
	 *
	 * @param bizId 业务ID（基础数据管理模块）
	 * @return 结果
	 */
	int deleteByBizId(Long bizId);

	/**
	 * 批量删除签署意见（基础数据管理模块）
	 *
	 * @param bizLogIds 需要删除的数据主键集合
	 * @return 结果
	 */
	int deleteByIds(Long[] bizLogIds);
}
